Television programs are distributed to viewers by a variety of broadcasting methods. These methods include traditional analog broadcast television (National Television Systems Committee or “NTSC” standard), the upcoming digital broadcast television (Advanced Television Systems Committee or “ATSC” standard), cable television (both analog and digital), satellite broadcasting (both analog and digital), as well as other methods. Some wireless television signal distribution systems use one or more geosynchronous satellites to broadcast a broadband television signal to receiver units within a large geographic area, while other wireless systems are land-based, using one or more transmitters located within smaller geographic areas to broadcast to individual receiver units within those geographic areas.
The receiver unit in a satellite system typically includes a satellite dish connected by a cable to an integrated receiver/decoder unit (IRD). The receiver unit receives and processes transmitted information packets. The satellite dish is aimed toward the satellite, and the IRD is connected to the user's television in a fashion similar to a conventional cable-TV decoder.
Along with the audio and video signals associated with the television channels, the IRD receives various digital objects such as text and graphics. These objects may be used by the IRD to provide the user with additional information such as electronic program guides, instructional manuals, advertisements, etc. The program guide information includes a set of channel definition parameters that define which portions of the transmitted television content are associated with the various channels, and typically also includes schedule information for display on users' televisions. The schedule information informs users what television programs are currently on, and what television programs will be shown in the near future.
Certain digital objects are only used in certain scenarios. For example, electronic program guide data about a particular premium channel need only be displayed if the user subscribes to that pay channel. Similarly, instructions on how to use brand X IRD need never be displayed by a brand Y IRD. Accordingly, the IRD needs to know which objects to store and which to objects to use in which scenarios.
Typically, each IRD is equipped with a conditional access module (CAM). The CAM stores a plurality of flags representing predefined scenarios (i.e., a bit mask). For example, a flag may indicate whether a particular user subscribes to a particular premium channel. Accordingly, the digital objects are transmitted with certain flags set and these flags are compared to the plurality of flags stored in the CAM to determine if an object should be discarded or displayed.
However, this method has certain drawbacks. Only predefined (i.e., before the IRD is shipped) scenarios may be used, because the meaning of each flag is predefined. The large number of combinations is to difficult to anticipate ahead of time (e.g., whether a particular IRD is brand X with at least 512 kilobytes of memory). Further, certain scenarios are too new to anticipate in older units (e.g., whether a particular IRD is Java compatible). Further, in receivers having the capability of modifying the control software within the receiver (e.g., by means of an upgrade received as part of a broadcast stream), the features may change over time.